package com.yonyou.pmclouds.basecom.async;

/**
 * 事务内的异步调用对外接口，简化上层业务的使用
 */
public interface TransactionAsyncInvocationManager {
    /**
     * 生成一个上下文相关的消息
     */
    AsyncInvocationInfo makeInfo();

    /**
     * 将一个任务转为待提交状态，可能发生写入数据库但不提交、发送预提交消息等行为
     *
     * @return 转为待提交态的消息
     */
    AsyncInvocationInfo prepare(AsyncInvocationInfo info);
}
